import { createStore } from 'vuex'
import cart from './modules/cart'
import user from './modules/user'
import category from './modules/category'
import createPersistedState from 'vuex-persistedstate' // vuex持久化插件

export default createStore({
  modules: {
    cart,
    user,
    category
  },
  plugins: [
    // 默认存储在sessionStorage上
    createPersistedState({
      storage: window.localStorage,
      // 本地存储的名字
      key: 'erabbit-client-pc-124-store',
      // 指定需要存储的模块
      paths: [
        'user',
        'cart'
      ]
    })
    // 默认存储在localStorage上
    // createPersistedState({
    //     storage: window.localStorage,
    //     // 本地存储的名字
    //     key: '',
    //     // 指定需要存储的模块
    //     paths: []
    // })

  ]
})

// // vue2.0 创建仓库  new Vuex.store({})
// // vue3.0 创建仓库  createStore({})
// export default createStore({
//   state: {
//     username: 'zhangSan'
//   },
//   getters: {
//     newName (state, payload) {
//         return state.username;
//     }
//   },
//   mutations: {
//     updateName (state) {
//         state.username = 'liSi';
//     }
//   },
//   actions: {
//     updateName (ctx) {
//         // 发请求 做异步的操作
//         setTimeout(() => {
//             ctx.commit('updateName')
//         }, 1000)
//     }
//   },
//   modules: {
//   }
// })
